#ifndef QUOTE_LEVEL_OPER_H
#define QUOTE_LEVEL_OPER_H
#include "QuoteLvData.h"
#include "QuoteLvKIndex.h"
#include "QuoteLvSubscribe.h"

#import "SocketBase.h"
//#import "TimeTools.h"

#define				QUOTELV_OPER_MIN_NUM					4	//分时
#define				QUOTELV_OPER_PRICE_NUM					2	//报价
#define				QUOTELV_OPER_DETAIL_NUM					2	//明细
#define				QUOTELV_OPER_OWN_NUM					2	//自选
#define				QUOTELV_OPER_BLOCK_NUM					20	//板块
#define				QUOTELV_OPER_INFO_NUM					3	//个股资讯
#define				QUOTELV_OPER_DEFAUT_NUM					1	//默认
#define				QUOTELV_OPER_INDEX_NUM					3	//okex
#define				QUOTELV_OPER_SELDIRLIST_NUM				5	//选股okex列表（支持5层）
#define				QUOTELV_OPER_CANCELTRUST_NUM			2	//个股撤单队列（0：委买 1：委卖）
#define				QUOTELV_OPER_FUND_NUM					3	//基金列表
#define				QUOTELV_OPER_HOTCONCEPT_NUM		2 //热门板块

#define				QUOTELV_OPER_TAG_OWN					0	//自选
#define				QUOTELV_OPER_TAG_OWN_INDEX				1	//okex自选,九宫首页用
#define				QUOTELV_OPER_TAG_MIN					0	//分时
#define				QUOTELV_OPER_TAG_MIN_PRICE				0	//分时个股报价
#define				QUOTELV_OPER_TAG_MIN_INFO				0	//分时个股信息
#define				QUOTELV_OPER_TAG_MIN_MINE				1	//分时个股地雷
#define				QUOTELV_OPER_TAG_PRICE_10				1	//10档报价
#define				QUOTELV_OPER_TAG_INDEX					0	//BTexokex
#define				QUOTELV_OPER_TAG_BLOCK_MARKET			0	//市场排名
#define				QUOTELV_OPER_TAG_BLOCK_HKMARKET			0	//港股市场排名
#define				QUOTELV_OPER_TAG_BLOCK_NEW_STOCK		0	//新股
#define				QUOTELV_OPER_TAG_FUND_LIST				0	//基金列表
#define				QUOTELV_OPER_TAG_GLOBAL_LIST			0	//全球市场
#define				QUOTELV_OPER_TAG_KLINE					0	//K线
#define				QUOTELV_OPER_TAG_BLOCK_IAC				0	//行业地区概念
#define				QUOTELV_OPER_TAG_DETAIL					0	//明细
#define				QUOTELV_OPER_TAG_TRUST					0	//委托
#define				QUOTELV_OPER_TAG_INDIVID				0	//逐笔
#define				QUOTELV_OPER_TAG_MIN_1					1	//两股对比股票1
#define				QUOTELV_OPER_TAG_MIN_2					2	//两股对比股票2
#define				QUOTELV_OPER_TAG_INDIVID_VOL			0	//成交统计
#define				QUOTELV_OPER_TAG_HISTORY_MIN			2	//历史分时
#define				QUOTELV_OPER_TAG_FUTURES_STOCK			1	//股指期货
#define				QUOTELV_OPER_TAG_FUTURES				0	//期货
#define				QUOTELV_OPER_TAG_SELDIRLIST_FIR			0	//选股列表第一层
#define				QUOTELV_OPER_TAG_SELDIRLIST_SEC			1	//选股列表第二层
#define				QUOTELV_OPER_TAG_SEL_STOCK				0	//选股内容
#define				QUOTELV_OPER_TAG_CANCELTRUST_FIR		0	//个股撤单委买队列
#define				QUOTELV_OPER_TAG_CANCELTRUST_SEC		1	//个股撤单委卖队列
#define				QUOTELV_OPER_TAG_HK_INDEX				1	//港股okex
#define				QUOTELV_OPER_TAG_FUND_VALUE				0	//净值图
#define				QUOTELV_OPER_TAG_FUND_PROCLIST			1	//基金列表
#define				QUOTELV_OPER_TAG_FUND_OWNLIST			2	//基金自选股列表

#define				QUOTELV_OPER_TAG_HOTCONCEPT_DIR				0 //热门板块一级
#define				QUOTELV_OPER_TAG_HOTCONCEPT_LIST			1 //热门板块二级

#define				QUOTELV_OPER_TAG_OWNALL                 0 //所有自选股

#define				QUOTELV_OPER_TAG_HS_ZF                 0 //BTex涨幅榜
#define				QUOTELV_OPER_TAG_HS_HS                 1 //BTex换手榜
#define				QUOTELV_OPER_TAG_HS_LB                 2 //BTex量比榜
#define				QUOTELV_OPER_TAG_CYB_ZF                3 //创业板涨幅榜
#define				QUOTELV_OPER_TAG_CYB_HS                 4 //创业板换手榜
#define				QUOTELV_OPER_TAG_CYB_LB                 5 //创业板量比榜
#define				QUOTELV_OPER_TAG_HK_GGT                6 //港股通
#define				QUOTELV_OPER_TAG_HK_MAIN                 7 //港股主板
#define				QUOTELV_OPER_TAG_HK_CY                 8 //港股创业
#define				QUOTELV_OPER_TAG_BLOCK_AREA				10	//板块地区
#define				QUOTELV_OPER_TAG_BLOCK_INDUSTRY			9	//板块行业
#define				QUOTELV_OPER_TAG_BLOCK_CONCEPT			11	//板块概念

#define				QUOTELV_OPER_TAG_INDEX_ZF                   0 //沪A涨幅榜
#define				QUOTELV_OPER_TAG_INDEX_DF                   1 //沪A跌幅榜
#define				QUOTELV_OPER_TAG_INDEX_HS                   2 //沪A换手榜

#define	QUOTE_SERVER_SOCKET_PORT	9997

//enum QUOTE_STATUS_tag{
//	QUOTE_STATUS_CONN = 0,          
//  QUOTE_STATUS_SERVER_DATA,       //服务器数据
//  QUOTE_STATUS_SERVER_ERROR,      //服务器错误
//  QUOTE_STATUS_SERVER_NO_LOGIN,   //没有登录
//  QUOTE_STATUS_SERVER_NO_LEVEL2,  //没有leve2权限
//  QUOTE_STATUS_SESSION_TIMEOUT,   //session time out
//}QUOTE_STATUS;

typedef struct QUOTELV_CODE_tag
{
	char			code[CODELV_LEN+1];
	char			maketId;
	unsigned int	nHash;
}QUOTELV_CODE;

typedef struct QUOTELV_CODE_ARRAY_tag
{
	struct QUOTELV_CODE_tag			pCode;
	struct QUOTELV_CODE_ARRAY_tag	*pNextCode;
}QUOTELV_CODE_ARRAY;


typedef struct QUOTELV_OPER_tag
{
	//包头
	QUOTELV_HEAD			HeadAsk;			//行情协议请求包头
	QUOTELV_HEAD			HeadRes;			//行情协议应答包头
	
	//分时
	QUOTELV_MIN_ASK			MinAsk[QUOTELV_OPER_MIN_NUM];				//分时请求数据结构
	QUOTELV_MIN_RES			MinRes[QUOTELV_OPER_MIN_NUM];				//分时应答数据结构
  
//  //lisz add 20110916 start
//  QUOTELV_LEVE2_MIN_ASK Leve2MinAsk[QUOTELV_OPER_MIN_NUM];//leve2分时请求数据结构
//  //lisz add 20110916 end
	
	//K线
	QUOTELV_K_ASK			KAsk[QUOTELV_OPER_DEFAUT_NUM];				//默认K请求数据结构
	QUOTELV_K_RES			KRes[QUOTELV_OPER_DEFAUT_NUM];				//默认K应答数据结构
	int						nAddedOffset;								//补充数据量
  
  //lisz add 20110916 start
  QUOTELV_LEVE2_K_ASK Leve2KAsk[QUOTELV_OPER_DEFAUT_NUM];				//默认K线leve2 ddx,bbd请求数据结构
  QUOTELV_LEVE2_TRANC_K_ASK Leve2TrancKAsk[QUOTELV_OPER_DEFAUT_NUM];	//默认K线均量均额请求数据结构
  //lisz add 20110916 end

//K线指标
	QUOTELV_K_INDEX			*KIndex;										//K线指标

	//报价
	QUOTELV_PRICE_ASK		PriAsk[QUOTELV_OPER_PRICE_NUM];				//报价请求数据结构
	QUOTELV_PRICE_RES		PriRes[QUOTELV_OPER_PRICE_NUM];				//报价应答数据结构
	
	
	//明细
	QUOTELV_DETAIL_ASK		DetailAsk[QUOTELV_OPER_DETAIL_NUM];			//明细请求数据结构
	QUOTELV_DETAIL_RES		DetailRes[QUOTELV_OPER_DETAIL_NUM];			//明细应答数据结构

//逐笔
	QUOTELV_INDIVID_ASK		IndividAsk[QUOTELV_OPER_DEFAUT_NUM];			//逐笔请求数据结构
	QUOTELV_INDIVID_RES		IndividRes[QUOTELV_OPER_DEFAUT_NUM];			//逐笔应答数据结构

//逐笔成交量统计
	QUOTELV_INDIVID_VOL_ASK	IndividVolAsk[QUOTELV_OPER_DEFAUT_NUM];		//逐笔成交量统计请求数据结构
	QUOTELV_INDIVID_VOL_RES	IndividVolRes[QUOTELV_OPER_DEFAUT_NUM];		//逐笔成交量统计应答数据结构

//最新委托序列
	QUOTELV_TRUST_ASK		TrustAsk[QUOTELV_OPER_DEFAUT_NUM];			//委托序列请求数据结构
	QUOTELV_TRUST_RES		TrustRes[QUOTELV_OPER_DEFAUT_NUM];			//委托序列应答数据结构
	
	
	//自选
	QUOTELV_OWN_ASK			OwnAsk[QUOTELV_OPER_OWN_NUM];				//自选股请求数据结构
	QUOTELV_OWN_RES			OwnRes[QUOTELV_OPER_OWN_NUM];				//自选股应答数据结构
	short					nOwnPageCount;		//一页的个数
	int						nOwnCurPage;		//当前页码
	int						nOwnMaxCount;		//自选股最大数量
	
    //全部自选
	QUOTELV_OWNALL_ASK		OwnAllAsk[QUOTELV_OPER_DEFAUT_NUM];				//自选股请求数据结构
	QUOTELV_OWNALL_RES		OwnAllRes[QUOTELV_OPER_DEFAUT_NUM];				//自选股应答数据结构
    int                     nOwnAllMaxLen;
	//okex
	QUOTELV_INDEX_ASK		IndexAsk[QUOTELV_OPER_INDEX_NUM];			//okex请求数据结构
	QUOTELV_INDEX_RES		IndexRes[QUOTELV_OPER_INDEX_NUM];			//okex应答数据结构
	
	//板块排行
	QUOTELV_BLOCK_ASK		BlockAsk[QUOTELV_OPER_BLOCK_NUM];			//板块请求数据结构
	QUOTELV_BLOCK_RES		BlockRes[QUOTELV_OPER_BLOCK_NUM];			//板块应答数据结构
	short					nBkPageCount;		//一页的个数
	int						nBkCurPage;			//当前页码
	int						nBkPageMax;			//最大页面
	
	//个股相关的资讯订阅
	QUOTELV_STOCKINFO_ASK	MinInfoAsk[QUOTELV_OPER_INFO_NUM];			//个股分时的资讯请求结构
	QUOTELV_STOCKINFO_RES	MinInfoRes[QUOTELV_OPER_INFO_NUM];			//个股分时的资讯应答结构
	
	//数据选股
	QUOTELV_SEL_STOCK_ASK	SelAsk[QUOTELV_OPER_DEFAUT_NUM];			//数据选股请求结构
	QUOTELV_SEL_STOCK_RES	SelRes[QUOTELV_OPER_DEFAUT_NUM];			//数据选股应答结构

//数据选股列表
	QUOTELV_SEL_DIRLIST_ASK	SelDirListAsk[QUOTELV_OPER_SELDIRLIST_NUM];			//数据选股请求结构
	QUOTELV_SEL_DIRLIST_RES	SelDirListRes[QUOTELV_OPER_SELDIRLIST_NUM];			//数据选股应答结构
 //热门板块  addby deo
  QUOTELV_HOT_DIR_ASK hotDirAsk[QUOTELV_OPER_HOTCONCEPT_NUM];
  QUOTELV_HOT_DIR_RES hotDirRes[QUOTELV_OPER_HOTCONCEPT_NUM];
  
//基金
	QUOTELV_FUND_ASK		FundAsk[QUOTELV_OPER_FUND_NUM];			//基金请求结构	
	QUOTELV_FUND_RES		FundRes[QUOTELV_OPER_FUND_NUM];			//基金应答结构	

//个股撤单队列
	QUOTELV_CANCELTRUST_ASK	CancelTrustAsk[QUOTELV_OPER_CANCELTRUST_NUM];		//个股撤单队列请求结构
	QUOTELV_CANCELTRUST_RES	CancelTrustRes[QUOTELV_OPER_CANCELTRUST_NUM];		//个股撤单队列应答结构
	
//数据字典
	QUOTELV_DICT_ASK		DictAsk;
	QUOTELV_DICT_RES		DictRes;

//最近浏览
	QUOTELV_CODE_ARRAY		*pRecViewArray;								//最近浏览的股票代码


//订阅
	QUOTELV_SUBSCRIBE		*pSubscribe;			//订阅Id维护链表结构
	
//市场开闭市时间
	QUOTELV_TRADING_HOURS	tradeingHours;		//市场开闭市时间
	
//开放式基金净值分时图
	QUOTELV_FUND_MIN_RES	FundMinRes[QUOTELV_OPER_DEFAUT_NUM];
	
	int						nSubscribeId;			//订阅Id
	char					*pSendData;				//发送数据
	int						nSendLen;				//发送长度
	short					nConType;				//联网类型（0：直连（socket） 1：代理（http））
	int						nSocketId;				//socket标记
	
	char					pHttpUrl[MAX_PATH];		//股票行情http连接		
	int						nHttpId;				//http请求标记
  char					pHttpInfoUrl[MAX_PATH];		//个股资讯http连接
	
	char					pSocketAdd[64];			//股票行情socket地址
	int						nSocketPort;			//股票行情socket端口号	
	
	char					pOwnPath[MAX_PATH];		//自选股路径
	char					pOwnFundPath[MAX_PATH];	//自选基金路径
  char          pBDZQPath[MAX_PATH];//标的证券路径
  char          pWebSrcPath[MAX_PATH];//标的证券路径
  char          pRecViewPath[MAX_PATH];//最新浏览路径
  
  int						nRecViewMaxCount;		//新近浏览最大数量(7)

	long					UserId;					//用户id
	char					pSessionId[32];			//sessionid
	
	int						nRefTime;				//刷新时间（以秒为单位）

	void					*pErrCBObj;				
	void(*pResErr)(void *pErrCBObj, void *pError, int nStatus);
	
	void					*pQuoteTimer;
  
  //lisz 20111117 start
  ///socket操作服务
  void          *pSocketOper;
  ///socket操作服务专为更新数据字典所设 xiezm 20140716
  void          *pSocketDictOper;
  ///回调通知对象
  GASocketOperNoticeCallBack noticeCallBack;
  ///连接错误次数
  int           nSocketConnectErrorCount;
  //lisz 20111117 end
  
  char          pDicUpdateTime[32];//数据字典更新日期

}QUOTELV_OPER;

/**
 * 功能:
 *		行情操作结构初始化
 * 参数:	
 *		-
 * 返回值:
 *		QUOTELV_OPER*	行情操作结构指针
 * 注释:
 *		
 */
QUOTELV_OPER* QuoteLvOper_New();

/**
 * 功能:
 *		设置行情操作结构状态通知
 * 参数:	
 *		QUOTELV_OPER*	行情操作结构指针
 * 返回值:
 *		-
 * 注释:
 *		
 */
void QuoteLvOper_SetStatusNotice(QUOTELV_OPER* pOper);

/**
 * 功能:
 *		删除行情操作结构
 * 参数:	
 *		QUOTELV_OPER*	行情操作结构指针
 * 返回值:
 *		-
 * 注释:
 *		
 */
void QuoteLvOper_Del(QUOTELV_OPER* aOper);

/**
 * 功能:
 *		更新数据字典
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int  QuoteLvOper_GetDictData(QUOTELV_OPER *aOper,void( *pCallBack )(void *pCBObj, void *p), void *pCBObj);

/**
 * 功能:
 *		手动更新数据字典
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *
 */
int  QuoteLvOper_GetDictData_Manual(QUOTELV_OPER *aOper,void( *pCallBack )(void *pCBObj, void *p), void *pCBObj);

/**
 * 功能:
 *		请求分时
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		int				aType			请求类型（RQS_LV_DFTMIN：默认分时 RQS_LV_MIN：定制分时 RQS_LV_HISMIN：历史分时）
 *		char			*aCode			股票代码
 *		char			aId				市场ID
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		int				aIndex			索引（历史分时无效）
 *		int				aDate			起始日期（历史分时有效）
 *		int				aNum			请求历史分时行情的天数（历史分时有效）
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int  QuoteLvOper_GetMinData(QUOTELV_OPER *aOper,void( *pCallBack )(void *pCBObj, void *p), void *pCBObj,char aType, char* aCode, char aId, int aSubscribeId, TBOOL aIsSubscribe, int aIndex, int aDate,int aNum, int aArrayIndex);

//lisz add 20110916 start
/**
 * 功能:
 *		请求分时leve2
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		int				aType			请求类型（RQS_LV_DFTMIN：默认分时 RQS_LV_MIN：定制分时 RQS_LV_HISMIN：历史分时）
 *		char			*aCode			股票代码
 *		char			aId				市场ID
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		int				aIndex			索引（历史分时无效）
 *		int				aDate			起始日期（历史分时有效）
 *		int				aNum			请求历史分时行情的天数（历史分时有效）
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int  QuoteLvOper_GetLeve2MinData(QUOTELV_OPER *aOper,
                                 void( *pCallBack )(void *pCBObj, void *p),
                                 void *pCBObj,
                                 char aType,
                                 char* aCode,
                                 char aId,
                                 int aSubscribeId,
                                 TBOOL aIsSubscribe,
                                 int aIndex,
                                 int aDate,int
                                 aNum,
                                 int aArrayIndex);
//lisz add 20110916 end

/**
 * 功能:
 *		请求K线
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		void( *pCallBack )(void *p)		回调函数
 *		int				aKLineType		请求类型（RQS_LV_GGRT）
 *		char			*aCode			股票代码
 *		int				aExdiviType			除复权类型
 *		char			aId				市场ID
 *		int				aDate			起始k线日期时间（int，年（12位）月（4位）日（5位）时（5位）分（6位））
 *		int				aIndex			起始索引（从0开始）
 *		int				aPageCount		一页显示的数量
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int  QuoteLvOper_GetExdiviKData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj,int aKLineType, char* aCode, char aId,int aExdiviType, int aDate, int aIndex, int aPageCount, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

int  QuoteLvOper_GetKData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj,int aKLineType, char* aCode, char aId, int aDate, int aIndex, int aPageCount, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

//lisz add 20110916 start
/**
 * 功能:
 *		请求leve2 ddx, bbd K线
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		void( *pCallBack )(void *p)		回调函数
 *		int				aKLineType		请求类型（RQS_LV_GGRT）
 *		char			*aCode			股票代码
 *		char			aId				市场ID
 *		int				aDate			起始k线日期时间（int，年（12位）月（4位）日（5位）时（5位）分（6位））
 *		int				aIndex			起始索引（从0开始）
 *		int				aPageCount		一页显示的数量
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int  QuoteLvOper_GetLeve2KData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj,int aKLineType, char* aCode, char aId, int aDate, int aIndex, int aPageCount, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
 * 功能:
 *		请求leve2 均量，均额K线
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		void( *pCallBack )(void *p)		回调函数
 *		int				aKLineType		请求类型（RQS_LV_GGRT）
 *		char			*aCode			股票代码
 *		char			aId				市场ID
 *		int				aDate			起始k线日期时间（int，年（12位）月（4位）日（5位）时（5位）分（6位））
 *		int				aIndex			起始索引（从0开始）
 *		int				aPageCount		一页显示的数量
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int  QuoteLvOper_GetLeve2TrancKData(QUOTELV_OPER *aOper,
                                    void( *pCallBack )(void *pCBObj, void *p),
                                    void *pCBObj,
                                    int aKLineType,
                                    char* aCode,
                                    char aId,
                                    int aDate,
                                    int aIndex,
                                    int aPageCount,
                                    int aSubscribeId,
                                    TBOOL aIsSubscribe,
                                    int aArrayIndex);

//lisz add 20110916 end
/**
 * 功能:
 *		请求报价
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aCode			股票代码
 *		char			aId				市场ID
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int  QuoteLvOper_GetPriceData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, char* aCode, char aId, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
* 功能:
*		请求明细
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
*		int				aType			请求类型（普通明细：RQS_LV_DETAIL Level-2交易明细：RQS_LV2_DETAIL）
*		char			*aCode			股票代码
*		char			aId				市场ID
*		int				aIndex			索引本地已有明细最后点索引，当本地无任何点时为-1，索引值从前至后递增）
*		int				aCount			请求长度，当服务器上的从请求索引到最新的记录长度小于本字段值时，会返回小于本长度的记录
*		int				aSubscribeId	订阅Id
*		TBOOL			aIsSubscribe	是否订阅
*		int				aArrayIndex		数组索引
* 返回值:
*		int				订阅Id （id=0 不订阅）
* 注释:
*		
*/
int  QuoteLvOper_GetDetailData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, char aType, char* aCode, char aId, int aIndex, short aPageCount, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
* 功能:
*		Level-2请求逐笔
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
*		char			*aCode			股票代码
*		char			aId				市场ID
*		int				aIndex			索引（历史分时无效）
*		int				aCount			请求长度，当服务器上的从请求索引到最新的记录长度小于本字段值时，会返回小雨本长度的记录
*		int				aSubscribeId	订阅Id
*		TBOOL			aIsSubscribe	是否订阅
*		int				aArrayIndex		数组索引
* 返回值:
*		int				订阅Id （id=0 不订阅）
* 注释:
*		
*/
int  QuoteLvOper_GetIndividData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, char* aCode, char aId, int aIndex, short aPageCount, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
 * 功能:
 *		请求逐笔成交量统计
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aCode			股票代码
 *		char			aId				市场ID
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int  QuoteLvOper_GetIndividVolData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, char* aCode, char aId, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
 * 功能:
 *		Level-2最新委托队列
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aCode			股票代码
 *		char			aId				市场ID
 *		int				aSubscribeId	订阅Id（0：表示需要订阅）
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int  QuoteLvOper_GetTrustData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, char* aCode, char aId, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
 * 功能:
 *		请求自选股
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		int				aIndex			页码（页码从0开始 0表示第一页）
 *		short			aPageCount		页码（页码从0开始 0表示第一页）
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅 -1:没有当前页面）
 * 注释:
 *		
 */
int  QuoteLvOper_GetOwnData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, int aIndex, short aPageCount, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
 * 功能:
 *		请求所有自选股
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅 -1:没有当前页面）
 * 注释:
 *		
 */
int  QuoteLvOper_GetOwnAllData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);


/**
 * 功能:
 *		请求大盘okex滚动
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅 -1:没有当前页面）
 * 注释:
 *		
 */
int  QuoteLvOper_GetIndexOwnData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
 * 功能:
 *		请求BTexokex
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		int				aType			请求类型（RQS_LV_HSINDEXLIST）
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int  QuoteLvOper_GetIndexData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, char aType, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
 * 功能:
 *		请求板块排行okex
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		int				aType			请求类型（RQS_LV_BOARDRANK）
 *		long64			aBlockId		板块ID
 *		int				aIndex			索引（从0开始）
 *		short			aSort			排序字段索引（当该字段不支持排序时，默认为代码字段）
 *		char			aMode			0 降序/1升序/ 2不排序
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		short			nPageCount		一页的个数 （-1表示用设置的nBkPageCount）
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int  QuoteLvOper_GetBlockData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, int aType, long64 aBlockId, int aIndex, short aSort, char aMode, int aSubscribeId, TBOOL aIsSubscribe, short nPageCount, int aArrayIndex);

/**
 * 功能:
 *		请求数据选股
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		long64			aBlockId		板块ID
 *		short			aSelType		选股类型
 *		int				aSubscribeId	订阅Id
 *		TBOOL			aIsSubscribe	是否订阅
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int  QuoteLvOper_GetSelStockData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, long64 aBlockId,  short aSelType, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
* 功能:
*		请求数据选股目录列表
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
*		short			aDirid			目录id（当首次进入此模块时该值为0，将返回一级目录）
*		int				aSubscribeId	订阅Id
*		TBOOL			aIsSubscribe	是否订阅
*		int				aArrayIndex		数组索引
* 返回值:
*		int				订阅Id （id=0 不订阅）
* 注释:
*		
*/
int  QuoteLvOper_GetSelDirListData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj,  short aDirid, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
* 功能:
*		请求个股相关的资讯订阅
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
*		char			*aCode			股票代码
*		char			aId				市场ID
*		char			aInfoType		类型（1 分时界面信息地雷 2 k线界面信息地雷 3.个股资讯）
*		int				aSubscribeId	订阅Id
*		TBOOL			aIsSubscribe	是否订阅
*		int				aArrayIndex		数组索引
* 返回值:
*		int				订阅Id （id=0 不订阅）
* 注释:
*		
*/
int  QuoteLvOper_GetMinInfoData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, char* aCode, char aId, int aInfoType, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
 * 功能:
 *		请求基金列表
 * 参数:
 *		QUOTELV_OPER	*aOper		操作结构指针
 *		char			*aUrl		请求地址
 *		int				aSubscribeId	订阅Id（客户端使用）
 *		int				aArrayIndex	数组索引
 * 注释:
 *		
 */
int  QuoteLvOper_GetFundListData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, char *aUrl, int aSubscribeId, int aArrayIndex);

/**
 * 功能:
 *		获取某个基金的净值图
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aUrl			请求地址
 *		char			*aCode			股票代码
 *		char			aMarket			市场Id
 *		int				aArrayIndex		数组索引
 *    char      *aMobile      手机号
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int QuoteLvOper_GetFundValueChart(QUOTELV_OPER *aOper,void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, char *aUrl, char* aCode, char aMarket, int aSubscribeId, int aArrayIndex,char *aMobile);

/**
 * 功能:
 *		获取开放式基金资讯
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aUrl			请求地址
 *		char			*aCode			股票代码
 *		char			aMarket			市场Id
 *		int				aArrayIndex		数组索引
 * 返回值:
 *		int				订阅Id （id=0 不订阅）
 * 注释:
 *		
 */
int QuoteLvOper_GetFundInfoData(QUOTELV_OPER *aOper,void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, char *aUrl, char* aCode, char aMarket, int aSubscribeId, int aArrayIndex);

/**
 * 功能:
 *		请求基金列表
 * 参数:
 *		QUOTELV_OPER	*aOper		操作结构指针
 *		char			*aUrl		请求地址
 *		int				aSubscribeId	订阅Id（客户端使用）
 *		int				aArrayIndex	数组索引
 * 注释:
 *		
 */
int  QuoteLvOper_GetFundOwnData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, char *aUrl, char* aData, int aLen, int aSubscribeId, int aArrayIndex);
/**
* 功能:
*		请求个股撤单委托队列
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
*		char			aTrustType		类型（1 委买  2 委卖）
*		char			*aCode			股票代码
*		char			aId				市场ID
*		int 			aIndex			索引
*		short 			aPageCount		一页数量
*		int	
aSubscribeId	订阅Id（客户端使用）
*		TBOOL			aIsSubscribe	是否订阅
*		int				aArrayIndex		数组索引
* 注释:
*		
*/
int  QuoteLvOper_GetCancelTrustData(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj, char aTrustType, char* aCode, char aId, int aIndex, short aPageCount, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

/**
* 功能:
*		取消订阅
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
*		int				aSubscribeId	订阅Id
* 返回值:
*		-
* 注释:
*		
*/
void QuoteLvOper_CancelSubscribe(QUOTELV_OPER *aOper, int aSubscribeId);

/**
 * 功能:
 *		取消所有订阅
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 * 返回值:
 *		-
 * 注释:
 *		
 */
void QuoteLvOper_CancelAllSubscribe(QUOTELV_OPER *aOper);

/**
 * 功能:
 *		重新订阅所有的ID
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 * 返回值:
 *		-
 * 注释:
 *		
 */
void QuoteLvOper_ResetSubscribe(QUOTELV_OPER *aOper);

/**
 * 功能:
 *		取消基金列表
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 * 返回值:
 *		-
 * 注释:
 *		
 */
void QuoteLvOper_CanceFundList(QUOTELV_OPER *aOper, int aId);

/**
 * 功能:
 *		判断一只股票是否存在于自选股
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aCode			自选股代码
 *		char			aMacketId		市场ID
 * 返回值:
 *		TBOOL			
 * 注释:
 *		
 */
TBOOL  QuoteLvOper_IsOwnCode(QUOTELV_OPER *aOper, char* aCode, char aMacketId);

/**
 * 功能:
 *		添加自选股
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aCode			自选股代码
 *		char			aMacketId		市场ID
 * 返回值:
 *		int				添加状态	   （0：成功  1：已存在  -1：添加失败）
 * 注释:
 *		
 */
int  QuoteLvOper_AddOwnCode(QUOTELV_OPER *aOper, char* aCode, char aMacketId);

/**
 * 功能:
 *		删除自选股
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aCode			自选股代码
 *		char			aMacketId		市场ID
 * 返回值:
 *		int				添加状态	   （0：成功  -1：失败）
 * 注释:
 *		
 */
int QuoteLvOper_DelOwnCode(QUOTELV_OPER *aOper, char* aCode, char aMacketId);

/**
* 功能:
*		改变自选股位置
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
*		int				aScrPos			原位置
*		int				aDesPos			新位置
* 返回值:
*		-
* 注释:
*		
*/
void QuoteLvOper_ChangeOwnPos(QUOTELV_OPER *aOper, int aScrPos, int aDesPos);

/**
 * 功能:
 *		获取所在自选股的位置
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aCode			自选股代码
 *		char			aMacketId		市场ID
 * 返回值:
 *		int				添加状态	   （>=0:位置  -1:不存在）
 * 注释:
 *		
 */
int QuoteLvOper_getOwnCodePos(QUOTELV_OPER *aOper, char* aCode, char aMacketId);


/**
* 功能:
*		获取自选股数量
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
* 返回值:
*		int				添加状态	   （0：成功  -1：失败）
* 注释:
*		
*/
int QuoteLvOper_GetOwnCount(QUOTELV_OPER *aOper);

/**
* 功能:
*		删除所有自选股
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
*		char			*aCode			自选股代码
* 返回值:
*		-
* 注释:
*		
*/
void QuoteLvOper_DelAllOwnCode(QUOTELV_OPER *aOper);

/**
 * 功能:
 *		更新所有自选股，lisz add
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aCode			自选股代码存储buf
 *		int				nSize			buf大小
 * 返回值:
 *		-
 * 注释:
 *		
 */
void QuoteLvOper_UpdateOwnAllCode(QUOTELV_OPER *aOper, char *pBuf, int nSize);

/**
* 功能:
*		获取所有自选股
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
* 返回值:
*		char*			返回自选股字符串（结构：代码+市场ID  注意：请外部释放字符串）
* 注释:
*		
*/
char* QuoteLvOper_GetAllOwnCode(QUOTELV_OPER *aOper);

//===============================================================================================
/**
 * 功能:
 *		判断一只股票是否存在于自选基金
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aCode			基金代码
 *		char			aMacketId		市场ID
 * 返回值:
 *		int		位置：大于0表示存在，－1表示不存在
 * 注释:
 *		
 */
int  QuoteLvOper_IsOwnFundCode(QUOTELV_OPER *aOper, char* aCode, char aMacketId);

/**
 * 功能:
 *		添加自选基金
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aCode			基金代码
 *		char			aMacketId		市场ID
 * 返回值:
 *		int				添加状态	   （0：成功  1：已存在  -1：添加失败）
 * 注释:
 *		
 */
int  QuoteLvOper_AddOwnFundCode(QUOTELV_OPER *aOper, char* aCode, char aMacketId, char* pName);

/**
 * 功能:
 *		删除自选基金
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aCode			基金代码
 *		char			aMacketId		市场ID
 * 返回值:
 *		int				添加状态	   （0：成功  -1：失败）
 * 注释:
 *		
 */
int QuoteLvOper_DelOwnFundCode(QUOTELV_OPER *aOper, char* aCode, char aMacketId);

/**
 * 功能:
 *		改变基金位置
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		int				aScrPos			原位置
 *		int				aDesPos			新位置
 * 返回值:
 *		-
 * 注释:
 *		
 */
void QuoteLvOper_ChangeOwnFundPos(QUOTELV_OPER *aOper, int aScrPos, int aDesPos);

/**
 * 功能:
 *		获取自选股数量
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 * 返回值:
 *		int				添加状态	   （0：成功  -1：失败）
 * 注释:
 *		
 */
int QuoteLvOper_GetOwnFundCount(QUOTELV_OPER *aOper);

/**
 * 功能:
 *		获取所有自选基金
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 * 返回值:
 *		char*			返回自选股字符串（结构：代码+市场ID  注意：请外部释放字符串）
 * 注释:
 *		
 */
char* QuoteLvOper_GetAllOwnFundCode(QUOTELV_OPER *aOper);

/**
 * 功能:
 *		删除所有自选基金
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aCode			自选股代码
 *		char			*aFileName		文件路径
 * 返回值:
 *		-
 * 注释:
 *		
 */
void QuoteLvOper_DelAllOwnFundCode(QUOTELV_OPER *aOper);
//===============================================================================================

/**
* 功能:
*		获取某页的自选股数据
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
*		char			*aData			自选股代码（如果NULL，只计算数量）
*		int				aPage			请求的页码
*		short			aPageCount		一页显示的个数
* 返回值:
*		int								当前页的股票个数
* 注释:
*		
*/
int QuoteLvOper_GetByte(QUOTELV_OPER *aOper, char* aData, int aIndex, short aPageCount);

/**
 * 功能:
 *		获取某个基金列表的Url
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aUrl			请求地址
 *		char			aFundType		请求基金类型
 *		int				aPageCount		一页的个数
 * 返回值:
 *		char*							基金列表的Url
 * 注释:
 *		
 */
char* QuoteLvOper_GetFundListUrl(QUOTELV_OPER *aOper, char *aUrl, int aFundType, int aPageCount);

/**
 * 功能:
 *		获取某个期货列表的Url
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char			*aUrl			请求地址
 *		char			aFundType		请求期货类型
 *		int				aPageCount		一页的个数
 *    int				pageno  请求页码 默认为1 （从1开始）
 * 返回值:
 *		char*							基金列表的Url
 * 注释:
 *		
 */
char* QuoteLvOper_GetFuturesListUrl(QUOTELV_OPER *aOper, char *aUrl, int aFuturesType, int aPageCount,int aPageNo);

/**
* 功能:
*		获取某个最近浏览的股票
* 参数:
*		QUOTELV_OPER	*aArray			操作结构指针
*		int				aIndex			索引
* 返回值:
*		QUOTELV_CODE*					股票结构列表
* 注释:
*		
*/
QUOTELV_CODE* QuoteLvOper_GetRecViewCode(QUOTELV_CODE_ARRAY *aArray, int aIndex);

/**
* 功能:
*		获取最近浏览的股票个数
* 参数:
*		QUOTELV_OPER	*aArray			操作结构指针
* 返回值:
*		int								股票个数
* 注释:
*		
*/
int QuoteLvOper_GetRecViewCount(QUOTELV_CODE_ARRAY *aArray);

/**
* 功能:
*		设置用户Id和sessionId
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
*		char*			aUserId			用户Id
*		long*			aSessionId		
* 返回值:
*		-
* 注释:
*		
*/
void QuoteLvOper_SetUserIdAndSessionId(QUOTELV_OPER *aOper, char* aUserId, char* aSessionId);

/**
 * 功能:
 *		设置行情服务器ip和port
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		char*			aIP				Socket地址
 *		int				aPort			Socket端口号
 *		char*			aUrl			Http服务器地址
 *		int				aConType	
 * 返回值:
 *		-
 * 注释:
 *		
 */
void QuoteLvOper_SetNewQuoteServer(QUOTELV_OPER *aOper, char* aIP, int aPort, char *aUrl, int aConType);


/**
 * 功能:
 *		连接行情服务器
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针	
 * 返回值:
 *		-
 * 注释:
 *		
 */
void QuoteLvOper_ConnectQuoteServer(QUOTELV_OPER *aOper);

/**
* 功能:
*		连接行情服务器
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
*		char*			aIP				Socket地址
*		int				aPort			Socket端口号
*		char*			aUrl			Http服务器地址
*		int				aRefTime
*		char*			aUrl		
* 返回值:
*		-
* 注释:
*		
*/
void QuoteLvOper_ConnectNewQuoteServer(QUOTELV_OPER *aOper, char* aIP, int aPort, char *aUrl, int aConType);

/**
* 功能:
*		设置错误的回调函数
* 参数:
*		QUOTELV_OPER	*aOper			操作结构指针
*		void			*pCallBack		回调函数地址
*		void			*pCBObj			指针
* 返回值:
*		-
* 注释:
*		
*/
void QuoteLvOper_SetErrCallBack(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *pError,int nStatus), void *pCBObj);

/**
 * 功能:
 *		设置错误的回调函数
 * 参数:
 *		QUOTELV_OPER	*aOper			操作结构指针
 *		int				aTime			刷新时间
 * 返回值:
 *		-
 * 注释:
 *		
 */
void QuoteLvOper_SetHttpRefTime(QUOTELV_OPER *aOper, int aTime);

///addby deo
/**
 * 功能:
 *		热门板块 获取目录
 * 参数:
 *  QUOTELV_OPER	*aOper        操作结构指针
 *  long64        boardId       热门板块 默认为0，json action 中的值 去掉前缀goto:qoute:securityList: 只要数字
 *  long64        queryCounts   查询条件个数 规定为0
 *  short         firstindex    开始索引(页码)
 *  short         len           一页的条数
 *  short         sortindex     排序字段索引 json中id的值(默认1102)
 *  char          sortmode      0 降序/1升序/ 2不排序
 *  int           aSubscribeId	全包-0,部分包-1
 *  TBOOL         aIsSubscribe	是否订阅
 */
int  QuoteLvOper_GetHotConecpt(QUOTELV_OPER *aOper, void( *pCallBack )(void *pCBObj, void *p), void *pCBObj,  long64 boardId,short queryCounts,int firstindex,short len,short sortindex,char sortmode, int aSubscribeId, TBOOL aIsSubscribe, int aArrayIndex);

//热门板块
void QuoteDataLV_ParseHotData(char *aSrc, QUOTELV_HOT_DIR_RES *aHotRes);

int QuoteLvOper_AddRecView(QUOTELV_OPER *aOper, char* aCode, char aMacketId);
char* QuoteLvOper_GetAllRecView(QUOTELV_OPER *aOper);
void QuoteLvOper_DelAllRecView(QUOTELV_OPER *aOper);
#endif
